home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / kboot014.d64 / 1520_driver.proc < prev    next >
Text File  |  2009-01-23  |  3KB  |  166 lines

  1. 9000 // BY KEVIN QUIGGLE
  2. 9005 //
  3. 9010 PROC P'OPEN(SA) CLOSED
  4. 9015 OPEN FILE 66,"",UNIT 6,SA,WRITE
  5. 9020 ENDPROC P'OPEN
  6. 9025 //
  7. 9030 PROC P'CLOSE CLOSED
  8. 9035 CLOSE FILE 66
  9. 9040 ENDPROC P'CLOSE
  10. 9045 //
  11. 9050 PROC P'CHAR(C$) 
  12. 9055 P'OPEN(6)
  13. 9060 PRINT FILE 66: 1,
  14. 9065 P'CLOSE
  15. 9070 P'OPEN(0)
  16. 9075 IF C$<>"" THEN
  17. 9080 PRINT FILE 66: C$,
  18. 9085 ELSE 
  19. 9090 PRINT FILE 66: 
  20. 9095 ENDIF 
  21. 9100 P'CLOSE
  22. 9105 ENDPROC P'CHAR
  23. 9110 //
  24. 9115 PROC P'HOME 
  25. 9120 P'OPEN(1)
  26. 9125 PRINT FILE 66: "H",
  27. 9130 P'CLOSE
  28. 9135 ENDPROC P'HOME
  29. 9140 //
  30. 9145 PROC P'INIT 
  31. 9150 P'OPEN(1)
  32. 9155 PRINT FILE 66: "I",
  33. 9160 P'CLOSE
  34. 9165 ENDPROC P'INIT
  35. 9170 //
  36. 9175 PROC P'MOVETO(X,Y) 
  37. 9180 P'OPEN(1)
  38. 9185 COMMAND("M",X,Y)
  39. 9190 PRINT FILE 66: C$,
  40. 9195 P'CLOSE
  41. 9200 ENDPROC P'MOVETO
  42. 9205 //
  43. 9210 PROC P'DRAWTO(X,Y) 
  44. 9215 P'OPEN(1)
  45. 9220 COMMAND("D",X,Y)
  46. 9225 PRINT FILE 66: C$,
  47. 9230 P'CLOSE
  48. 9235 ENDPROC P'DRAWTO
  49. 9240 //
  50. 9245 PROC P'MOVE(X,Y) 
  51. 9250 P'OPEN(1)
  52. 9255 COMMAND("R",X,Y)
  53. 9260 PRINT FILE 66: C$,
  54. 9265 P'CLOSE
  55. 9270 ENDPROC P'MOVE
  56. 9275 //
  57. 9280 PROC P'DRAW(X,Y) 
  58. 9285 P'OPEN(1)
  59. 9290 COMMAND("J",X,Y)
  60. 9295 PRINT FILE 66: C$,
  61. 9300 P'CLOSE
  62. 9305 ENDPROC P'DRAW
  63. 9310 //
  64. 9315 PROC P'RESET 
  65. 9320 P'OPEN(7)
  66. 9325 PRINT FILE 66: 
  67. 9330 P'CLOSE
  68. 9335 ENDPROC P'RESET
  69. 9340 //
  70. 9345 PROC P'COLOR(COLOR) 
  71. 9350 P'OPEN(2)
  72. 9355 CONVERT(2,T$,COLOR)
  73. 9360 PRINT FILE 66: T$,
  74. 9365 P'CLOSE
  75. 9370 ENDPROC P'COLOR
  76. 9375 //
  77. 9380 PROC P'CHARSIZE(SIZ) 
  78. 9385 P'OPEN(3)
  79. 9390 CONVERT(2,T$,SIZ)
  80. 9395 PRINT FILE 66: T$,
  81. 9400 P'CLOSE
  82. 9405 ENDPROC P'CHARSIZE
  83. 9410 //
  84. 9415 PROC P'ROTCHAR(ROT) 
  85. 9420 P'OPEN(4)
  86. 9425 CONVERT(2,T$,ROT)
  87. 9430 PRINT FILE 66: T$,
  88. 9435 P'CLOSE
  89. 9440 ENDPROC P'ROTCHAR
  90. 9445 //
  91. 9450 PROC P'SCRIBE(BRK) 
  92. 9455 P'OPEN(5)
  93. 9460 CONVERT(2,T$,BRK)
  94. 9465 PRINT FILE 66: T$,
  95. 9470 P'CLOSE
  96. 9475 ENDPROC P'SCRIBE
  97. 9480 //
  98. 9485 PROC CONVERT(AN,REF ALPH$,REF NUMB) CLOSED
  99. 9490 Z:=ZONE
  100. 9495 ZONE 0
  101. 9500 DIM OLD$ OF 12
  102. 9505 ROW:=PEEK(214); COL:=PEEK(211)
  103. 9510 PC:=PEEK(646) //CURRENT PENCOLOR
  104. 9515 BC:=PEEK(53281)-240
  105. 9520 PENCOLOR BC
  106. 9525 PRINT CHR$(19),
  107. 9530 OPEN FILE 126,"",UNIT 3,READ
  108. 9535 INPUT FILE 126: OLD$
  109. 9540 CLOSE FILE 126
  110. 9545 PRINT "            ",
  111. 9550 CASE AN OF
  112. 9555 WHEN 1
  113. 9560 IF ALPH$="" THEN
  114. 9565 ALPH$:="NV"
  115. 9570 ELSE 
  116. 9575 PRINT ALPH$,
  117. 9580 ENDIF 
  118. 9585 WHEN 2
  119. 9590 PRINT NUMB,
  120. 9595 WHEN 3
  121. 9600 IF NUMB>=0 AND NUMB<=255 THEN
  122. 9605 PRINT CHR$(NUMB),
  123. 9610 ELSE 
  124. 9615 ALPH$:="NV"
  125. 9620 ENDIF 
  126. 9625 OTHERWISE 
  127. 9630 ALPH$:="NV"
  128. 9635 ENDCASE 
  129. 9640 IF ALPH$<>"NV" THEN
  130. 9645 PULL'SCREEN(AN,ALPH$,NUMB)
  131. 9650 ENDIF 
  132. 9655 PENCOLOR PC
  133. 9660 PRINT "",OLD$
  134. 9665 POKE 214,ROW
  135. 9670 POKE 209,(1024+ROW*40) MOD 256
  136. 9675 POKE 210,(1024+ROW*40) DIV 256
  137. 9680 POKE 211,COL
  138. 9685 ZONE Z
  139. 9690 ENDPROC CONVERT
  140. 9695 //
  141. 9700 PROC PULL'SCREEN(AN,REF ALPHA$,REF NUMBER) CLOSED
  142. 9705 PRINT CHR$(19),
  143. 9710 OPEN FILE 93,"",UNIT 3,READ
  144. 9715 CASE AN OF
  145. 9720 WHEN 1
  146. 9725 INPUT FILE 93: NUMBER
  147. 9730 WHEN 2,3
  148. 9735 INPUT FILE 93: ALPHA$
  149. 9740 ENDCASE 
  150. 9745 CLOSE FILE 93
  151. 9750 ENDPROC PULL'SCREEN
  152. 9755 //
  153. 9760 PROC COMMAND(CH$,X,Y) 
  154. 9765 C$:=CH$+" "
  155. 9770 CONVERT(2,T$,X)
  156. 9775 IF " " IN T$ THEN T$:=T$(1:" " IN T$)
  157. 9780 C$:=C$+T$+" "
  158. 9785 CONVERT(2,T$,Y)
  159. 9790 IF T$(1)<>"0" THEN
  160. 9795 C$:=C$+T$
  161. 9800 ELSE 
  162. 9805 C$:=C$+T$(2:LEN(T$))
  163. 9810 ENDIF 
  164. 9815 ENDPROC COMMAND
  165. 9820 //
  166.